package org.yunai.swjg.server.module.quest.template;

import org.yunai.swjg.server.module.currency.Currency;
import org.yunai.swjg.server.module.inventory.ItemParam;
import org.yunai.swjg.server.module.quest.QuestDef;
import org.yunai.swjg.server.module.quest.condition.IQuestCondition;

import java.util.List;

/**
 * 任务模版
 * User: yunai
 * Date: 13-5-8
 * Time: 下午11:21
 */
public class QuestTemplate {
    /**
     * 编号
     */
    private Integer id;
    /**
     * 任务名
     */
    private String title;
    /**
     * 任务类型
     */
    private QuestDef.Type type;
    /**
     * 接受任务最小等级
     */
    private Short acceptMinLevel;
    /**
     * 任务内容
     */
    private String content;
    /**
     * 任务所在区域
     */
    private Integer region;
    /**
     * 接受任务NPC
     */
    private Integer acceptNPC;
    /**
     * 完成任务NPC
     */
    private Integer finishNPC;
    /**
     * 前置任务字符串,用"|"分隔
     */
    private String preQuests;
    /**
     * 任务完成条件
     */
    private List<IQuestCondition> finishConditions;
    /**
     * 奖励金钱类型
     */
    private Currency bonusCurrency;
    /**
     * 奖励金币数量
     */
    private Integer bonusCurrencyNum;
    /**
     * 奖励经验值
     */
    private Integer bonusExp;
    /**
     * 奖励道具列表
     */
    private List<ItemParam> bonusItems;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public QuestDef.Type getType() {
        return type;
    }

    public void setType(QuestDef.Type type) {
        this.type = type;
    }

    public Short getAcceptMinLevel() {
        return acceptMinLevel;
    }

    public void setAcceptMinLevel(Short acceptMinLevel) {
        this.acceptMinLevel = acceptMinLevel;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getRegion() {
        return region;
    }

    public void setRegion(Integer region) {
        this.region = region;
    }

    public Integer getAcceptNPC() {
        return acceptNPC;
    }

    public void setAcceptNPC(Integer acceptNPC) {
        this.acceptNPC = acceptNPC;
    }

    public Integer getFinishNPC() {
        return finishNPC;
    }

    public void setFinishNPC(Integer finishNPC) {
        this.finishNPC = finishNPC;
    }

    public String getPreQuests() {
        return preQuests;
    }

    public void setPreQuests(String preQuests) {
        this.preQuests = preQuests;
    }

    public List<IQuestCondition> getFinishConditions() {
        return finishConditions;
    }

    public void setFinishConditions(List<IQuestCondition> finishConditions) {
        this.finishConditions = finishConditions;
    }

    public Currency getBonusCurrency() {
        return bonusCurrency;
    }

    public void setBonusCurrency(Currency bonusCurrency) {
        this.bonusCurrency = bonusCurrency;
    }

    public Integer getBonusCurrencyNum() {
        return bonusCurrencyNum;
    }

    public void setBonusCurrencyNum(Integer bonusCurrencyNum) {
        this.bonusCurrencyNum = bonusCurrencyNum;
    }

    public Integer getBonusExp() {
        return bonusExp;
    }

    public void setBonusExp(Integer bonusExp) {
        this.bonusExp = bonusExp;
    }

    public List<ItemParam> getBonusItems() {
        return bonusItems;
    }

    public void setBonusItems(List<ItemParam> bonusItems) {
        this.bonusItems = bonusItems;
    }
}
